If you tell him bluntly that he is lacking in several regards (as you have emphasized in the post), it can work both ways. It is possible that he may feel you are running him down, and that will likely backfire as far as your expectations of making him come up to your level are concerned. On the other hand, he can take it up as a challenge, and work hard to prove his worth to you, but even if it is successful, that's still going to be a hard PhD experience for him.
I think a better idea is to use a different strategy: Be very encouraging at every step. Praise him for what he is capable of doing. Assign some small tasks first up, that he can efficiently take care of. Then, soon enough, assign him a problem only slightly above his level in terms of theory/programming. He will struggle, and very likely fall short. Then maybe, you can encourage him by saying something of the tune of
"Well, I think it will be easier for you to stumble across this roadblock if you read this article first. It can't be very hard to get across this efficiently, for someone who is as good as you. I mean, you've pretty much handled everything I've assigned to you thus far, reasonably well. Read this, tell me what do you understand out of this, and is that able to solve the problem."
Infusing confidence is positive mentoring. While you do that, keep upping the ante progressively. It will be a slow process, and will take a lot of time and effort on your part, but that's probably the only way of "making him curious".
Thus, in nutshell, the approach suggested is -
Small tasks, only slightly above his level, so that he keep working his way up without getting bogged down, and gradually taking it to higher and higher difficulty level. A sudden exposure to a very difficult problem will likely put out the fire, so please don't do that. And please be very encouraging at every step.
PS - Having said that, I'm afraid I agree with Boris Bukh's original comment: If he isn't prepared to handle PhD level problems, I wouldn't have very high expectations in terms of the work quality. But still, if there are no alternatives, and the only choice available with you is to mentor this bloke, the hard, slow method suggested in the post looks like the only viable method to me.
Hope that helps :)