This is one of the things that you can do with AutoIt.
Create a small script that performs a check periodically. Something as simple as...
While True If (ProcessExists("prog.exe") = 0) Then Run("prog.exe") EndIf Sleep(1000) Wend
...or even...
While True RunWait("prog.exe") Wend
...or more complex if you wish.
The script can be compiled to an exe and run quietly in the background.