cp command not working in script for non unix file

Piece of code in sh file
------------------------

   echo "lalit test bef"
   which cp
   cp $l_options $srcdirfile $destdirfile
   echo "lalit test after"
   echo "**************************options below"
   echo "loption $l_options"
   echo "src $srcdirfile" 
   echo "destinat $destdirfile"
   ls -lrt /opt/smart/dev/eur/sources/scripts/upload/bases_pre_bcp_d.trg
   echo "\n ls end \n"
   echo "**************************"

debug mode output
------------------------

+ which cp
cp:      aliased to cp -i
+ cp -p /opt/smart/dev/eur/sources/request/9235_test/bases_pre_bcp_d.trg /opt/smart/dev/eur/sources/scripts/upload     -------------> this one 
+ echo lalit test after
lalit test after
+ echo **************************options below
**************************options below
+ echo loption -p
loption -p
+ echo src /opt/smart/dev/eur/sources/request/9235_test/bases_pre_bcp_d.trg
src /opt/smart/dev/eur/sources/request/9235_test/bases_pre_bcp_d.trg
+ echo destinat /opt/smart/dev/eur/sources/scripts/upload
destinat /opt/smart/dev/eur/sources/scripts/upload
+ ls -p -lrt /opt/smart/dev/eur/sources/scripts/upload/bases_pre_bcp_d.trg
/opt/smart/dev/eur/sources/scripts/upload/bases_pre_bcp_d.trg not found -----------------------------------> says no file and confirm no file
+ echo \n ls end \n

Manual copy
---------------

smt2uxb@SMARTDEV:/opt/smart/dev/eur/sources/coms >ls -lrt /opt/smart/dev/eur/sources/scripts/upload/bases_pre_bcp_d.trg
/opt/smart/dev/eur/sources/scripts/upload/bases_pre_bcp_d.trg not found
smt2uxb@SMARTDEV:/opt/smart/dev/eur/sources/coms >cp -p /opt/smart/dev/eur/sources/request/9235_test/bases_pre_bcp_d.trg /opt/smart/dev/eur/sources/scripts/upload
smt2uxb@SMARTDEV:/opt/smart/dev/eur/sources/coms >ls -lrt /opt/smart/dev/eur/sources/scripts/upload/bases_pre_bcp_d.trg
-rwxrwxr-x    1 smt2uxb  smt2uxb        1134 Jun 22 08:51 /opt/smart/dev/eur/sources/scripts/upload/bases_pre_bcp_d.trg

Just to add bases_pre_bcp_d.trg is non unix format , when i put the unix format it is copied properly .
The doubt which I have is that if it is non unix format why it doesnt give any error or anything

Quote the variables and try

cp "$l_options" "$srcdirfile" "$destdirfile"

to add to this there are junk files created with upload name instead of copying into upload directory

ld78977@SMARTDEV:/opt/smart/dev/eur/sources/scripts >ls -lrt 
:28xrwxr-x    1 smt2uxb  smt2uxb        1134 Jun 22 08:51 upload
:27xrwxr-x    1 smt2uxb  smt2uxb        1134 Jun 22 08:51 upload
:26xrwxr-x    1 smt2uxb  smt2uxb        1134 Jun 22 08:51 upload
:25xrwxr-x    1 smt2uxb  smt2uxb        1134 Jun 22 08:51 upload
:24xrwxr-x    1 smt2uxb  smt2uxb        1134 Jun 22 08:51 upload
:23xrwxr-x    1 smt2uxb  smt2uxb        1134 Jun 22 08:51 upload
:22xrwxr-x    1 smt2uxb  smt2uxb        1134 Jun 22 08:51 upload
:21xrwxr-x    1 smt2uxb  smt2uxb        1134 Jun 22 08:51 upload
:20xrwxr-x    1 smt2uxb  smt2uxb        1134 Jun 22 08:51 upload
:19xrwxr-x    1 smt2uxb  smt2uxb        1134 Jun 22 08:51 upload
:18xrwxr-x    1 smt2uxb  smt2uxb        1134 Jun 22 08:51 upload
:17xrwxr-x    1 smt2uxb  smt2uxb        1134 Jun 22 08:51 upload
:16xrwxr-x    1 smt2uxb  smt2uxb        1134 Jun 22 08:51 upload
:15xrwxr-x    1 smt2uxb  smt2uxb        1134 Jun 22 08:51 upload
-rwxrwxr-x    1 smt2uxb  smt2uxb        1134 Jun 22 08:51 upload
drwxrwxr-x    2 smt2uxb  smt2uxb      536576 Jun 22 11:42 eurosmart/
drwxrwxr-x    2 smt2uxb  smt2uxb       86016 Jun 22 11:42 upload/  ---> actual directory

Then add a forward slash and try

cp "$l_options" "$srcdirfile" "${destdirfile}/"