RedirectStandardInput
заставляет Console.exe получать данные из потока, к которому вы можете получить доступ в основной программе. Вы можете либо написать напрямую в этот поток, либо использовать SetOut для перенаправления вывода консоли туда ...
Process proc = new Process();
proc.StartInfo.FileName = Path.GetDirectoryName(Application.ExecutablePath)
+ @"\Console.exe";
proc.StartInfo.UseShellExecute = false;
proc.StartInfo.RedirectStandardInput = true;
proc.Start();
proc.StandardInput.WriteLine("Hello");
Console.SetOut(proc.StandardInput);
Console.WriteLine("World");
EDIT
Возможно, что Console.exe не справляется с тем, что данные вводятся в него, а не вводятся в интерактивном режиме. Вы можете проверить это из командной строки, например,
echo "Hello" | Console.exe
Если это не даст ожидаемого результата, перенаправление вывода вашей программы тоже не будет. Чтобы протестировать вашу программу, не беспокоясь о целевой программе, вы можете попробовать
proc.StartInfo.FileName = @"cmd";
proc.StartInfo.Arguments = @"/C ""more""";
Если при этом отображается текст, который вы ему пишете, значит, проблема на принимающей стороне.