Instead of restoring the saved values of argc, argv and envp,
these must be loaded from the stack that _rtld() modifies.
This fixes rtld direct exec mode.
E.g.: /libexec/ld-elf.so.1 /bin/ls
A brief look at powerpc/rtld_start.S code seems to indicate that the same changes apply to powerpc.
But it would be better for someone with 32-bit powerpc hardware to make the change and confirm it works fine.