Вспомнил:
# watch --interval=5 /var/filter.sh
еще полезное применение watch
nsk.lug.ru/poleznye-sovety/poleznye-sovety-komanda...
www.opennet.ru/man.shtml?topic=watch&category=1&ru...
Можно вывод направить в /dev/null
# watch --interval=5 /var/filter.sh > /dev/null
Не совсем подходит под вашу цель, но возьмите на заметку.
Запускает с интервалом в 5 секунд ваш скрипт.
Единственное учтите, если ваш скрипт не будет успевать выполниться за пять секунд, то может быть эффект "лавинного рождения новых процессов". Особенно может возникнуть, если скрипт использует блокировки.
А со sleep очень просто
ru.wikipedia.org/wiki/Sleep
/var/filter.sh
#!/bin/sh
echo "Начинаем..."
while (true)
do
echo "Ваш скрипт";
sleep 5; # пауза 5 секунд
done;