Obviamente sólo con html no se puede; bueno, sí se puede.... pero hay que recoger luego las variables mediante javascript.
si en realidad la idea era "en lado cliente" podr´´ias solucionarlo así:
Un documento html no soporta recibir un formulario enviado por el método post, pero no se queja al recibir uno por get.
Si sólo es el valor de un campo no habrías de tener problema usando get.
Cambia el método al formulario de inicio
<form name="form1"
method="get" action="carrito.htm">
<select name="envio">
<option value="50 ACTIVIDADES INFORMATICA PARA EGB, $29.000">50 ACTIVIDADES
INFORMATICA PARA EGB</option>
</select>
<input type="submit" name="Submit" value="COMPRAR">
</form>
Y a carrito.htm le pones esto en head
<script language="JavaScript">
window.onload=function(){
document.forms[0].text1.value = unescape(location.search.substr(1).split('&')[0].split('=')[1].replace(/\+/g," "))
}
</script>