Fix #45 :Handle relative paths in `run-program`
This is basically the solution proposed by Elias Pipping with a few minor tweaks.
- In
run-program
, don't mergeprogram
with the "path:" search-list.spawn
will handle this. - In
spawn
, if the first call to execve fails, instead of trying "/bin/sh", use "/usr/bin/env" which will use the user's PATH if necessary to find the program.