Se você quiser sempre que o script expire após 5 minutos, basta usar um bloco em um processo em segundo plano como este. Se você usar Ctrl+C
enquanto estiver em execução, o processo em segundo plano também será encerrado:
#!/bin/bash
{
sleep 5m
kill $$
} &
while true
do
date
sleep 1
done