O que você está fazendo não é subtração, mas sim colocar um símbolo "-" entre dois valores. Você pode ver isso tentando.
echo "($(date +%s) - $(stat -c %Z /var/lib/apt/periodic/update-success-stamp))"
que dá no meu caso
(1403616665 - 1403583368)
A afirmação correta deve ser
echo "$[$(date +%s) - $(stat -c %Z /var/lib/apt/periodic/update-success-stamp)]"
que fornece corretamente
33297
Também devido às aspas mais externas, a instrução "($(date +%s) - $(stat -c %Z /var/lib/apt/periodic/update-success-stamp)) -ge 600000"
é considerada como o primeiro valor, que é comparado a nothing
, e é por isso que ele fornece sempre um resultado verdadeiro.
Arredondando tudo isso, o script seria
if [ "$[$(date +%s) - $(stat -c %Z /var/lib/apt/periodic/update-success-stamp)]" -ge 600000 ]; then
echo true
fi