C, 35 characters ================ <!-- language: lang-c --> main(int a,char**v){execv(v[0],v);} The program executes itself. I'm not sure if this is considered recursion or not.