It is actually very easy.
Install the new drive in the system - doesn't matter if first or second channel, master or slave just set the jumpers on the drive(s) appropriately. You may also have to tell the BIOS about the new drive by setting whatever channel to auto detect the drive parameters.
Partition (fdisk) and set the primary partition as active. Format the new drive with the install system files option. You can add an extra drive letter if you want at this time but to do what you want to do, make sure the first partition is however large you need it to be as it will be the C drive soon.
Now go into Windows "My Computer" properties and disable the caching - you want to specify the cache and set it to 0 bytes.
Reboot to get Windows up with the new settings.
Open Windows Explorer and make sure the options are set to show all files - including system files. In the left pane, highlight the C: drive and on the right you'll see all the directories and all the files in the root directory.
Select everything and right click or use the menu to select Copy (*not* move).
Go to the new drive root directory and select Paste.
Everything will copy over.
Now shut down Windows and remove the old C drive. Make the new drive into the master on the drive 0 IDE channel and boot. Windows should come up. Now go back into My Computer and enable caching again.
Should be all done.