è sulla condizione dell'if che sbaglia
usi == per confrontare una array di char e un carattere
prova
codice:
if(strcmp(argv[1],"X") == 0)
     fai qualcosa
...
cmq il suggerimento di samuele_70 è giusto...prova a vedere che parametri hai passato ciclando su argv[i]