A small C-like language that turing machines can simulate I am looking for a small language that helps 'convince' students that turing machines are a sufficiently general computing model. That is, a language that looks like the languages they are used to, but is also easy to simulate on a turing machine.

Papadimitriou uses RAM machines for this job, but I fear that comparing something strange (as a turing machine) to another strange thing (basically, an assembly language) would be too unconvincing for many students.

Any suggestions would be most welcome (specially if they came with some recommended literature)
If your students have done any functional programming, the nicest approach I know is to start with the untyped lambda calculus, and then use the bracket abstraction theorem to translate it into SKI combinators. Then, you can use the $smn$ and $utm$ theorems to show that Turing machines form a partial combinatory algebra, and so can interpret the SKI combinators. 

I doubt this is the simplest possible approach, but I like how it rests  on some of the most fundamental theorems in computability (which you may well wish to cover for other reasons). 

It appears that Andrej Bauer answered a similar question on Mathoverflow a few months back.
If you are set on a C-like language, your path will be a lot rougher, since they have a rather complicated semantics -- you'll need to 


Show that Turing machines can simulate a stack and a heap at the same time, and 
Show how variables can be implemented with a stack, and
Show that procedure calls can be implemented with a stack. 


This is much of the contents of a compilers class, honestly.