For example, in the below script startover starts back from the top:
startover
##########################################################################
You could "recurse" using the following line:
exec bash "$0" "$@"
Since $0 is the path to the current script, this line starts the script without creating a new process, meaning you don't need to worry about too many restarts overflowing the process table on your machine.
$0