You can use LinkWrite[link, Unevaluated[expr]] to write expr to the link without evaluating it.
The head of expr will often be a packet which specifies how expr should be processed by the program which receives it.
When LinkWrite is used to send data to a Mathematica kernel, EnterTextPacket["string"] enters the text of an input line, and EvaluatePacket[expr] sends an expression for evaluation.