Start with Programming in C or C A Modern Approach (although the latter is expensive even second hand) and learn some basic Linux. Then K&R just because everyone should read it. Grab C in a Nutshell, Understanding and Using C Pointers and C A Reference Manual for reference. Then get the Linux Programming Interface book. Okay maybe a bit overkill for a 12 year old...
Also recommended in this reply