In vb6, se non ricordo male, era in parte così, cioè dovevi indicare esplicitamente con quale applicazione volevi aprire il file:

esempio

codice:
shell "c:\windows\notepad.exe file1.txt"
non so se in .net funziona ancora così!