Process p = new Process();
p.StartInfo.FileName = "program1.exe";
p.Start();
p.WaitForExit();
p.StartInfo.FileName = "program2.exe";
p.Start();
p.WaitForExit();
Я так понимаю, что, скорее всего, нет — надо создавать каждый раз новый объект процесса? Хотя код работает — я проверяла.