If the program wants to relaunch itself, or find other files that correspond
to its executable file, it should check @code{argv[0]}. If that string
contains a slash, it is the file name of the executable and its directory
part says where to find other related files.
If there is no slash, you should search for the executable in the
directories in @envvar{PATH}, and other related files should be in
the installation directory for the program's version.
@c ??? Someone please add a cross reference to info about that.
Any program that needs to know the location of its executable or that
of other associated files should offer the user an option to specify
another location.