Your boy sounds like mine, he won't so much as step in a puddle, which presents problems when we have to go through water jumps on our cross-country courses *sigh*
I've found that, if he jumps of flinches at nothing, just ignore it, but if he shies at something in particular, walk him up to it and let him have a good look, take it one step at a time if necessary, and it often is haha, and praise him and give him a break after every step forward.
Once my horse has relaxed a bit, and is convinced that the stick/rock/piece of grass is no longer going to eat him, then we can proceed on. Now, if he spots something scary, he's actually starting walk up to it himself. The other day he spotted a plastic bag (horror!) on the trail, paused (me thinking "uh oh!"), but then walks up, sniffs, goes "yeah, whatever" and kept walking.