Как уже упоминалось в других ответах, вы можете использовать:
Process.Start("notepad somefile.txt");
Однако есть и другой способ.
Вы можете создать экземпляр объекта Process и вызвать метод экземпляра Start:
Process process = new Process();
process.StartInfo.FileName = "notepad.exe";
process.StartInfo.WorkingDirectory = "c:\temp";
process.StartInfo.Arguments = "somefile.txt";
process.Start();
Делая это таким образом, вы можете настроить дополнительные параметры перед запуском процесса. Объект Process также позволяет вам извлекать информацию о процессе во время его выполнения и уведомляет вас (через событие Exited) о завершении процесса.
Добавление: не забудьте установить 'process.EnableRaisingEvents' в 'true', если вы хотите перехватить событие 'Exited'.