If .pike is omitted when declaring a script to run, Pike will add this automatically. It will however not update the argv array. Is this the behaviour you would expect?
Example.
foo.pike: void main(int n, array args) { write("%O\n", args); }
$ pike foo bar ({ /* 2 elements */ "/home/nilsson/foo", "bar" })