rlange - 12:15 am on Aug 4, 2012 (gmt 0)
OK, so your actual problem is that requests for both
www.example2.co.uk appear to be handled by the first VirtualHost block. And this appears to be happening because of some redirect that removes the Host header from the request causing Apache to set HTTP_HOST to the server's IP address.
The expected host/domain, however, is available in the request's Referer header and, therefore, Apache's HTTP_REFERER variable, and you're wondering how to set HTTP_HOST to HTTP_REFERER before Apache checks for a matching virtual host.
Honestly, I have no idea—sorry—but it sounds like your problem is further up the chain: the redirect. I'm not sure why your "DNS provider" would be redirecting requests. That's not how DNS works...