One of the biggest things is to not make it formal learning. At this age and all the way up till about 6 learning should be through play and exploration.
A good example for teaching colours is blocks. May be you build a tower. "I am putting the red block on next, and now the blue one, etc." So this with cars, paints, every day objects. Mention colours as you go along. Then to 'test' colour recognition ask him to pass you an object of a certain colour.
A fun way of doing counting, but concretely not just rote (parrot fashion), is too dish out objects too people. So for example get a box of smarties and get your boy to ask his dad how many smarties he wants (start with a small number less than 5 and work your way up), and then help him count them out, do so for whom ever is there and let him choose his own number too. Count every day objects, make it a game to count all the doors, windows, trees, fingers, etc...
For this age they dont need to be able to recognise letters yet. But expose him to them, again in a fun informal way. A great activity, get an old magazine, pick a letter (Good to work in some order- alphabetical, vowels then consonants or thrass), then find a picture of some thing that begins with that letter. When he can identify beginning sounds move to end, then middle.
Shapes. What I found worked really well was shape art. Choose one shape, eg a circle, then cut out a whole lot (if done in different colours you can 'teach' that at the same time)and allow him to create a picture with it. All the time reinforcing the name of the shape. "where will you put the blue circle? What are you doing with the yellow circle?" Do the basic shapes by them selves and then mix them. Point out shape in his every day world.
Thats all my brain wants to work now. Let me know if you want more.
Oh be careful not to fall into the rote trap. Just because some one else's child can count high doesn't mean they understand what they are saying. A child can count when they can tell you how many objects they have and they are able to count from a given number.