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.