Primeiro, você não está executando um script. Colar uma série de comandos não faz um script. Como descrito na resposta de Jobin, você não teria esse problema se estivesse realmente usando um script.
O problema é provavelmente que você está sobrecarregando o buffer de entrada com os comandos e esperando que o bash seja o próximo processo a ser lido a partir do buffer de entrada. Existem muitas razões para o apt-get ler o buffer de entrada, então nada é deixado quando ele termina e o leva de volta ao bash.
Se você quiser, ainda poderá colar uma série de comandos sem se preocupar em copiar ou gravar um arquivo de script e torná-lo executável. (Criar o script seria um desperdício de esforço em muitos casos, por exemplo, um conjunto simples de comandos que você precisa fazer em várias máquinas e nunca duas vezes na mesma máquina.)
Se você colar a série de comandos separados por ponto-e-vírgula, toda a sequência será alimentada para bash e continuará independentemente do que o apt faz com o buffer de entrada:
apt-get -y install gcc g++ make cmake perl; cd ~/; mkdir t1; cd t1