Direi che è risolto se,come detto da YuYevon (tutti i diritti riservati ),si passa argv[1] alla funzione.
Poi nel codice va copiato argv[1] invece che argv[0],ma comunque in generale chi fa partire il codice sa in che cartella sta il codice,quindi basta farlo partire non da terminale,o modificare il codice passando tramite la shell di windows o di linux il path.
Comunque io uso linux per queste cose.
Direi che il thread è allora risolto se non ci sono altri problemi che non ho capito.