This command is used to copy the file from one directory to another
adb shell cp /source /destination
adb shell cp /data/local/a/demo.txt /data/local/b/
It is a simple command used to copy a file from one directory to another.
While adb push command copies a file from local to remote, adb shell cp is used for copying a file from one location of the Android device to another.
The adb push command might not be working because you specified an incoreect filename or an incorrect destination to push to.