I did exactly this, was curious if I could write an outer and inner interpreter in pure c in under 500 lines with only 5 c functions. I then used that to boot strap an image that can run using only the inner interpreter.
http://chiselapp.com/user/tehologist/repository/compc/index
Also several experimental versions. Final version includes a pdf that documents how the c code works.