Como Sami Laine comentou, o os.system usa um shell que muitas vezes não é bash. Além disso, bash -c 'command'
não escreve para .bash_history. Você poderia, é claro, fazer algo assim:
import os
def runcommand(command):
with open(os.path.expanduser('~/.bash_history'), 'a') as f:
f.writelines([command])
os.system(command)