Pergunta interessante. Eu usaria uma matriz para capturar os arquivos relevantes e usar uma função recursiva para colar cada arquivo adicional:
paste_files() {
if [[ "$#" -eq 0 ]]; then
cat -
else
paste - <(cut -f4 "") | paste_files "${@:1}"
fi
}
for institute in wbm matsiro; do
for scenario in rcp4p5 rcp8p5; do
files=( "$institute"_*_"$scenario"* )
cat "${files[0]}" | paste_files "${files[@]:1}" > "$hyd_model"_"$scenario".txt
done
done