Do not rely on argv[0] for executable file path

This is not reliable: it won't work if it's in $PATH and only the file
name is given.

Thanks to Andreas Bolka for pointing this out