Ciao, per default credo sia preso in considerazione il primo pulsante secondo l'ordine in cui si trova sul documento.

Chiaramente si può risolvere tramite JavaScript ma provo a dare una soluzione con l'uso di un trucco senza JavaScript.
Se stai usando HTML5 puoi adoperare la proprietà formaction, e a questo punto (considerato quanto detto inizialmente) puoi inserire un pulsante fittizio, con l'action di default, messo prima degli altri e nascosto con display:none.
codice:
<form action="pagina_default" method="post">
  <button type="submit" name="sub2" style="display:none">Submit fittizio</button>
  <button type="submit" formaction="altra_pagina" name="sub1">Submit 1</button>
  <input name="txt1">
  <input name="txt2">
  <input name="txt3">
  <button type="submit" name="sub2">Submit 2</button>
</form>
In questo caso, premendo invio, verrà eseguito sempre il submit del primo pulsante, anche se nascosto, il quale fa riferimento alla proprietà action di default, specificata nel form stesso. La stessa action chiaramente viene considerata se si clicca sull'ultimo sub2.

Ho testato limitatamente, quindi è una soluzione da prendere con le pinze.
In alternativa puoi attendere che qualcuno ti indichi qualche soluzione JavaScript, se preferisci.