This is using bash 4.3.48.
$ ARR=(entry1 entry2 entry3)
$ echo "${ARR[*]}"
entry1 entry2 entry3
Things work as expected until here, but after
$ { IFS=: ; echo "${ARR[*]}" ;}
entry1:entry2:entry3
IFS is strangely changed half persistently after the change
$ echo "${ARR[*]}"
entry1:entry2:entry3
$ echo $IFS
$ echo "$IFS"
:
As I cannot get my head around this behaviour, I would assume this is a bug. There might be a connection to IFS change with Bash 4.2.