Norton ghost would do the job. Or you could just format the new harddrive and set your old one as a slave to the new one(master).
These are two very different approaches. Norton Ghost could restore his entire hard, OS and all, to the new hard drive. The second approach would merely be a way of copying user data files from the old drive to the new one or just slave the old drive, as you suggested, and keep both hard drives in the computer.
Another option to transfer everything, OS and all, to the new hard drive would be to use the software tools provided by the hard drive manufacturer for this. For example, Western Digital's Data Lifeguard Tools.