Hi will,
I think the issue could be
mpiexec cp2k.psmp -i efp_short.inp -o efp_short.out
echo "Running long..."
mpiexec cp2k.psmp -i efp_long.inp -o efp_long.out
that mpiexec cp2k.psmp -i efp_short.inp -o efp_short.out runs in the foreground. Hence, mpiexec cp2k.psmp -i efp_long.inp -o efp_long.out will run only when the previous command terminates.
You can run the first one in the background:
mpiexec cp2k.psmp -i efp_short.inp -o efp_short.out &
echo "Running long..."
mpiexec cp2k.psmp -i efp_long.inp -o efp_long.out
Hope this helps.