How to disable https access to specific virtual hosts?
You won't be able to avoid getting a warning, unless example1 and example2 are on different IP addresses, or you get an SSL certificate covering both names -- an error page or redirect can't happen until after the SSL connection is established.
That being said, something along these lines should work:
NameVirtualHost *:443
<VirtualHost *:443>
ServerName example1.com
SSLEngine on
#...
</VirtualHost>
<VirtualHost *:443>
ServerName example2.com
SSLEngine on
# same certificate config here as on example1, unless you're wanting to use TLS SNI
# then, let's redirect the user to non-SSL
Redirect permanent / http://example2.com/
</VirtualHost>