I tried your suggestion and it does not yeild any output. However, the tr command helps reconstruct the variable to have a single space only.
The challenge remains of how to get the first two words seperated by single space get stored as first array element and then the rest of the words as subsiquent array elements.
I've tried this on a couple of systems and get the following - for Solaris;
-bash-3.2$ cat arrtest.sh
IFS=' ' read -ra my_array <<< "2019-09-11 15:17:55 CR1234 anonymous Deployed DR_only Back_APP"
#Print the split string
for i in "${my_array[@]}"
do
echo $i
done
-bash-3.2$ ./arrtest.sh
2019-09-11
15:17:55
CR1234
anonymous
Deployed
DR_only
Back_APP
-bash-3.2$ uname -a
SunOS isd250 5.10 Generic_150400-46 sun4v sparc sun4v
-bash-3.2$ bash --version
GNU bash, version 3.2.52(1)-release (sparc-sun-solaris2.10)
Copyright (C) 2007 Free Software Foundation, Inc.
-bash-3.2$
And on a much later version of Red Hat;
[root@fbakirpomd4 bin]# cat arrtest.sh
IFS=' ' read -ra my_array <<< "2019-09-11 15:17:55 CR1234 anonymous Deployed DR_only Back_APP"
#Print the split string
for i in "${my_array[@]}"
do
echo $i
done
[root@fbakirpomd4 bin]# ./arrtest.sh
2019-09-11
15:17:55
CR1234
anonymous
Deployed
DR_only
Back_APP
[root@fbakirpomd4 bin]# cat /etc/redhat-release
Red Hat Enterprise Linux Server release 7.5 (Maipo)
[root@fbakirpomd4 bin]# bash --version
GNU bash, version 4.2.46(2)-release (x86_64-redhat-linux-gnu)
Copyright (C) 2011 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software; you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
[root@fbakirpomd4 bin]#
For reference, in bash (gitbash in my case) this works nicely for taking a string (called $theline in this example) with a number of words that are separated by a space. I'm using two words, but it would work with many more. e.g. "word1 word2"
The words are parsed into an array, called "strings".
read -a strings <<< "$theline"
echo "There are ${#strings[*]} words."
for val in "${strings[@]}"; do
printf "$val\n"
done
word1=${strings[0]}
word2=${strings[1]}