no argv[0] è il puntatore alla stringa. argv[0][0] contiene la 'p', argv[0][1] la 'r', argv[0][2] la 'o' etc..
argv[1] è il puntatore al primo parametro passato da righa di comando, argv[2] il secondo etc...
argc invece contiene il numero dei parametri immessi compreso il comando.
in ogni caso usa questo:
main(int argc, char *argv[])
{
if (strcmp(argv[0],"prova.exe")!=0) exit(0);
...
}