It's ugly, but using gcc, you could:
gcc -include file2.c file1.c
-include
is a flag to the preprocessor which will include the contents of file2.c at the very top of file1.c. Having said that, it's a poor choice, and breaks down for all but the simplest of programs.