Execute C como um script, recompilando apenas quando alterado

Seguindo uma ótima dica sobre como executar o código C como um script , modifiquei um pouco para recompilar apenas quando o arquivo for alterado. Ele usa o TMPDIRenvvar em vez de mktmp.

//bin/cat /dev/null; mkdir -p $TMPDIR; HASH="`md5sum $0`"; FILE="$TMPDIR/$0_$HASH"; gcc -o "$FILE" "$0" && "$FILE" "$@"; exit

#include <stdio.h>

int main(int argc, char *argv[]) {
int i;
printf
("Arguments:n");
for (i = 0; i < argc; i++) {
printf
("%d: %sn", i, argv[i]);
}
}