Você pode escapar de cada caractere problemático com \
(veja a resposta de Hunter.S.Thompson) ou apenas usar aspas simples, sendo a string anexada escrita assim:
(sudo crontab -l ; echo '0 6 1-7 * * [ $(/usr/bin/date +\%u) == 7 ] && sh '"$script_path > $log_path") | sort -u | sudo crontab -
Eu pessoalmente tento evitar fugir de personagens, pois acho que isso prejudica a legibilidade.