This all depends how easy it is to change the acceptance environment.
If deployment on acceptance environment is easy...
...for example if you just have to replace the executables, you may consider option 2:
- overwrite current acceptance
- make the test
- deploy the corrected version
- redeploy (or rollback to) the current version under development
- continue acceptance development
If deployment on acceptance is more delicate...
Unfortunately many complex business applications are more delicate to deploy: you may need to install a set of dependent dynamic libraries or plugins, or you might need to update some configuration files, etc.... This makes it risky to move back and forth.
The showstopper is when there is a database, and different version might cope differently with the persistent data. Overriding acceptance could in this case lead to persistent inconsistencies.
Therefore the safest approach is to go for option 1. This is the standard procedure for the upgrade of major ERP systems, when the whole company depends on the production environment. There, the clone acceptance is even created at the beginning of the upgrade, just in case of...
This approach is also the most expensive one. But if your company has a professional datacenter, they should be able to virtualize such an environment and restore older images very easily and without huge overhead costs.
If the risks are low...
Last but not least, a risk assessment could consider that the patch is a minor change with no real risk. In this case, an exception procedure could lead to a direct development (option 3). But even if it's a known practice, I can't recommend this for critical systems, except in rare exceptions where there is no other alternative.