Does the shell built-in "exec" -a app1 /bah/dynamic-loader.so /path/to/app1" work or it has the same problem with argv[0] getting reset?