There appear to be two common ways of running an external executable from C in unix, the
system()
call and
pid = fork() sw
Going via system() additionally invokes a shell process, which might not be what you want.
Also the calling process is notified only when such shell dies not when the actual process run by the shell died.