Petite démonstration :
chris@aiur:/tmp% cat uname
- !/bin/sh
echo BOOM
chris@aiur:/tmp% cat test.c
- include <stdlib.h>
int main() {
system("uname -a");
return 0;
}
chris@aiur:/tmp% gcc test.c
chris@aiur:/tmp% ./a.out
Linux aiur 3.2.0-0.bpo.1-amd64 #1 SMP Sat Feb 11 08:41:32 UTC 2012 x86_64 GNU/Linux
chris@aiur:/tmp% PATH=/tmp:$PATH ./a.out
BOOM
chris@aiur:/tmp%
Et modifier le PATH, c'est assez trivial et ça peut passer inaperçu un long moment. 