Those temperatures are fine for idle mode. If the avarage idle temperature is at least 15C higher than your room temperature than you may have an overheating problem.
I also have an i7-2600 and my idle temperatures are similar to yours, each core usually has a different temperature but the avarage is mostly between 35C to 39C (my room temperature is 30C).
There is no such thing as normal idle temps. The temperature sensors that Intel uses are for controlling thermal throttling and thermal shut down. They were never intended to be used for 100% accurate idle temperature reporting.
If you are running RealTemp by itself and it shows 35C and if you run HWMonitor by itself and it shows 38C then I would have to conclude that RealTemp is a more efficient monitoring program and it is putting less load on your CPU. You can use the Task Manager to determine that. Slight differences like this are not something to be concerned about. Core temperatures can change instantaneously. As long as your CPU is not throttling or causing errors then there is no need to worry too much about the core temperature.