Shell non è un comando, è un metodo, e soprattutto andrebbe evitato visto che si tratta di un metodo mantenuto per compatibilità con VB6.
Tra parentesi, puoi scrivere quel codice più in sintesi in questo modo:
codice:
System.Diagnostics.Process proc = new System.Diagnostics.Process();
proc.Start("percorso","parametri");
proc.WaitForExit();
.