>>134ですが、コマンドプロンプトを利用して、以下のようにやってみました。
ただ、(コマンド)をフルパスで指定して、そのパスにスペースが入っているとうまく動きません
(コマンドがスペースで、きれて実行され、結果、そんなコマンド認識できないとなります。)
コマンドもファイルパスもダブルコーテションで囲んでいるのですが
それで、ファイルパスにはスペースが当っても大丈夫です。

Process proc = new Process();
proc.StartInfo.FileName = Environment.GetEnvironmentVariable("ComSpec");
string command = "\"(コマンド)\" < \"(ファイルパス)\"";

proc.StartInfo.UseShellExecute = false;
proc.StartInfo.RedirectStandardInput = true;

proc.StartInfo.Arguments = String.Format(@"/C {0}", command);

proc.Start();
proc.WaitForExit();