exec will start a new process, but the new process will be started in place of the parent (so the current process will not exist any more). When ls completed and the process finished your current terminal will also ended because the child process terminated (it was initially your shell, but you replaced it by exec)
|