What exactly does "/scoreboard @a <obj1> = @a <obj2>" do?

/execute does not require the targets to be OP'd and is very necessary to use in order to do what you're trying to do. /scoreboard operations requires one of the two selectors to resolve to a single target, so you cannot use @a with @a.

Using /execute:

/execute @a ~ ~ ~ scoreboard players operation @a[c=1] internalCash = @a[c=1] cash