Wow, it's been so long since anybody mentioned LD_PRELOAD, I thought it was fixed by kernels by now. Idk if you can even fix it, I just know that's a great way to write a rootkit.
Also worth mentioning that the setuid() setgid() thing still works but a lot of kernels are harder to fool. I tested this recently on my own box and LD_PRELOAD does not work on my kernel (3.13.9).