1.B公司承诺是有效的,原因在于5月5日承诺到达之时A公司没有作出撤销要约的决定,也就是说以默示的方式承认对方的承诺,满足要约成立的条件,合同生效。因此,A公司不能因任何理由拒绝履行合同。
2、由B公司承担违约责任。因BC合同明确规定由B公司负责货物运输,虽然B将货物交给了承运人,也只能事后再追究承运人的违约责任(依B公司与承运人之间的合同)。
3、这里涉及两个合同的问题。A、C公司与B公司之间存在合同关系,B公司与承运人之间又是另外一个合同关系,A、C与承运人之间没有直接的合同关系,因此只能追究B的责任,再由B追究承运人的责任。