Here is my take on the upgrade process.
First of all, you should not create a copy of your 1.7 installation. Extract the 1.8 installation package to a development server (or more likely a different folder/subdomain, but I will use “development server” for the sake of this explanation). Then copy the following folders and files from your 1.7 installation to the 1.8 installation:
This will copy the media files (product images, etc.), custom theme, and any custom code and community extensions to the development server.
Now, on the development server create a new database. Create a database dump from your current 1.7 database and import it to the new, empty database. I recommend using SSH for this, but a tool such as phpMyAdmin may work as well. Then update the base url in the development database, and edit the app/etc/local.xml on your development server to point to the newly created database.
Now go the the url of your 1.8 development installation in a web browser to start the upgrade scripts.
Important notice: this may take a long time, and you should ensure the timeouts on your server is set high enough to allow the scripts to run to completion. If the scripts are aborted, you will end up with a corrupted install and have to start over.
Finally, depending on the complexity of your custom theme and local customizations, you might receive errors during the upgrade. This is normal. Check the error details in ./var/log/.. and fix the problems before you continue. If your template is not compatible with Magento 1.8 you may want to first enable the default theme, then do the upgrade, and fix the template issues afterwards. If that does not help, try disabling all community extensions.
I hope this helps.