In /bin/sleep 10 & the terminating & makes the shell run sleep asynchronously. Job control is by default disabled in a script. In Bash the following applies [emphasis mine]:
Non-builtin commands started by Bash have signal handlers set to the values inherited by the shell from its parent. When job control is not in effect, asynchronous commands ignore SIGINT and SIGQUIT in addition to these inherited handlers.
Source: Bash Reference Manual.
And relatedly, SIG_IGN persists across a call to execv(), with the possible exception of SIGCHLD.
Signals set to the default action (SIG_DFL) in the calling process image shall be set to the default action in the new process image. Except for SIGCHLD, signals set to be ignored (SIG_IGN) by the calling process image shall be set to be ignored by the new process image. Signals set to be caught by the calling process image shall be set to the default action in the new process image (see <signal.h>).
Source: The Open Group Base Specifications Issue 7, 2018 edition.