You need to buffer the input in any case, why not just
LS=$(ls)
./cruncher <<END
$LS
END
./muncher <<END
$LS
END LS=$(ls)
./cruncher <<END
$LS
END
./muncher <<END
$LS
ENDNo comments yet.