in reply to ARGV empty when calling Perl from C program

Did you verify the Perl script runs from the command line? On a *nix system you need to give a shebang path to perl like #!/usr/bin/perl or similar.

Is the path to the script supposed to be absolute or relative?

Is this a windows system?

Update: Change this line of code and try again. In my test the first element of the array passed to execv() was discarded used by the OS and the second goes to $ARGV[0].

char *argv[]={NULL,"100033",NULL};