On the Macintosh you need to make a duplicate of MathKernel because you cannot launch an application from a single file more than once. Single quotes must surround the pathname if it contains spaces. This would be the command on the Macintosh: link=LinkLaunch["'MathKernelcopy'"]
MathLink communicates using packets. When the second kernel starts up, it sends a packet containing the first input prompt to the program that launched it.
In[2]:= 
Out[2]= 
To send an expression to the second kernel for evaluation, wrap it in an EvaluatePacket; the result comes back in a ReturnPacket. The Unevaluated around the expression keeps it from evaluating before it is sent.
In[3]:= 
Out[3]= 
When you are finished, quit the second kernel.
In[4]:= 
THIS IS DOCUMENTATION FOR AN OBSOLETE PRODUCT.
SEE THE
DOCUMENTATION CENTER FOR THE LATEST INFORMATION.