Hola @ankeorum,
tal vez no entienda bien tu pregunta, pero a priori, parece que no se puede hacer lo que querés, porque los script PHP corren del lado del servidor, y por tanto no podrían disparar el envío de un formulario de una página que está viendo un usuario porque 1) son computadoras diferentse, 2) el servidor no mantiene una conexión con el cliente luego de transmitidos los datos, y 3) no hay (salvo que lo implementes) forma de saber cuál de las posibles miles de copias de esa página que están viendo los usuarios es la que hay que enviar.
Lo que sí se puede hacer es, mediante JavaScript, que cuando un usuario cargue pagina2.php se ejecute un submit del formulario en página1.php
Si pagina2.php se abre como un popup de pagina1.php es muy fácil:
<script>
parent.document.getElementById('formulario').submit();
</script>
Si no es un popup hay que darle unas vueltas más y tener cuidado de no violar las políticas del mismo origen para JavaScript.
De todas formas, tal vez te sirva algo sea más simple todavía: poner un contador en pagina1.php y cada cierto tiempo (por ejemplo cada 1 minuto) hacer el submit del formulario, con lo que estarías enviando los datos sin depender de otra página.
Esto último mejora un poco más si enviás los datos vía AJAX, de forma tal de que no se recargue la página, y el guardado sea transparente al usuario.
Saludos cordiales!
PD: si entendí mal, danos más contexto del problema (qué son página1 y página2, para qué guardar datos que pueden estar inconclusos, etc) así podemos ayudarte mejor.