You are using | (pipe) to direct the output of a command into another command. What you are looking for is && operator to execute the next command only if the previous one succeeded:
cp /templates/apple /templates/used && cp /templates/apple /templates/inuse && rm /templates/apple
Or
cp /templates/apple /templates/used && mv /templates/apple /templates/inuse
To summarize (non-exhaustively) bash’s command operators/separators:
|pipes (pipelines) the standard output (stdout) of one command into the standard input of another one. Note thatstderrstill goes into its default destination, whatever that happen to be.|&pipes bothstdoutandstderrof one command into the standard input of another one. Very useful, available in bash version 4 and above.&&executes the right-hand command of&&only if the previous one succeeded.||executes the right-hand command of||only it the previous one failed.;executes the right-hand command of;always regardless whether the previous command succeeded or failed. Unlessset -ewas previously invoked, which causesbashto fail on an error.