Pokud chcete předávat spouštěnému procesu argumenty tak použijte:
Process.Start("program-na-spusteni", "nejaky_argument druhy_argument");
Pokud ale chcete spustit cd, tak to sice provede cd do nějakého adresáře, ale v jiné konzoli (proces se spustí jako dítě a změny adresáře či systémových proměnných neovlivní rodiče). Pokud chcete trochu polaborovat s procesy, tak můžete zkusit:
ProcessStartInfo info = new ProcessStartInfo ("program-na-spusteni", "arg1 arg2");
info.(milion možností nastavení procesu :))
Process p = Process.Start(info);
Dá se tam nastavit priorita procesu, jestli se zobrazí okno, zachytávání výstupu z procesu, ...
PS: Pokud ale chcete jenom změnit aktuální adresář, tak to se dělá pomocí tohoto:
System.IO.Directory.SetCurrentDirectory("/home/nekdo/neco");