В Линукс и Виндовс получить имя процесса можно через argv[0]. Помню даже был чемпионат на самую короткую программу, которая вызывает сама себя.
Вот интересно, как можно это сделать вообще не передавая параметры функции main или WinMain
К сожалению в Линукс неохота залазить:)
Сделал для Виндоу
И да, теперь можно узнать из программы откуда она была вызвана (ее путь)