In general, for every call to outside program, you use Process and ProcessStartInfo classes. If there is a default program set for particular file type you could even call the process directly, only with file name. Process.Start("test.txt") would open Notepad++ on my computer for example.
For your particular problem:
using System;
using System.Diagnostics;
public class Processing
{
public static void Main()
{
Process p = new Process();
p.StartInfo.FileName = "log.exe";
p.StartInfo.Arguments = "port13.dat StringTable > porttest.txt";
p.StartInfo.UseShellExecute = false;
p.StartInfo.RedirectStandardOutput = true;
p.Start();
string output = p.StandardOutput.ReadToEnd();
p.WaitForExit();
Console.WriteLine("Output:");
Console.WriteLine(output);
}
}
If this helps, please take time to accept the solution so that others may find it. Thank you.