You can clone with
HTTPS or Subversion.
# Adds header correctly
s3cmd sync --add-header=Expires:60 local/ s3://bucket2
# Doesn't add header
s3cmd sync --add-header=Expires:60 s3://bucket1 s3://bucket2 -
Seems this is the same problem
I'm not familiar with Python but it looks like perhaps the bug is here, that extra_headers needs to be merged with headers